1. Field of the Invention
The present invention relates generally to error detection in high speed data transmission systems and components. More particularly, embodiments of the present invention concern error rate testing methods and devices suitable for use in connection with various network protocols and configurations.
2. Related Technology
Computer and data communications networks continue to proliferate due to declining costs, increasing performance of computer and networking equipment, and increasing demand for communication bandwidth. Communications networks—including wide area networks (“WANs”) and local area networks (“LANs”)—allow increased productivity and utilization of distributed computers or stations through the sharing of resources, the transfer of voice and data, and the processing of voice, data and related information at the most efficient locations. Moreover, as organizations have recognized the economic benefits of using communications networks, network applications such as electronic mail, voice and data transfer, host access, and shared and distributed databases are increasingly used as a means to increase user productivity. This increased demand, together with the growing number of distributed computing resources, has resulted in a rapid expansion of the number of installed networks.
As the demand for networks has grown, network technology has developed to the point that many different physical configurations presently exist. Examples include Gigabit Ethernet (“GE”), 10 GE, Fiber Distributed Data Interface (“FDDI”), Fibre Channel (“FC”), Synchronous Optical Network (“SONET”) and InfiniBand networks. These networks, and others, typically conform to one of a variety of established standards, or protocols, which set forth rules that govern network access as well as communications between and among the network resources. Typically, such networks utilize different cabling systems, have different characteristic bandwidths and typically transmit data at different speeds. Network bandwidth, in particular, has been the driving consideration behind many advancements in the area of high speed communication systems, methods and devices.
For example, the ever-increasing demand for network bandwidth has resulted in the development of technology that increases the amount of data that can be pushed through a single channel on a network. Advancements in modulation techniques, coding algorithms and error correction have vastly increased the rates at which data can be transmitted across networks. For example, a few years ago, the highest rate that data could travel across a network was at about one Gigabit per second. This rate has increased to the point where data can travel across Ethernet and SONET networks at rates as high as 10 gigabits per second, or faster.
As communication networks have increased in size, speed and complexity however, they have become increasingly likely to develop a variety of problems that, in practice, have proven difficult to diagnose and resolve. Such problems are of particular concern in light of the continuing demand for high levels of network operational reliability and for increased network capacity.
The problems generally experienced in network communications can take a variety of forms and may occur as a result of a variety of different circumstances. Examples of circumstances, conditions and events that may give rise to network communication problems include the transmission of unnecessarily small frames of information, inefficient or incorrect routing of information, improper network configuration and superfluous network traffic, to name just a few. Such problems are aggravated by the fact that networks are continually changing and evolving due to growth, reconfiguration and introduction of new network typologies and protocols. Moreover, new network interconnection devices and software applications are constantly being introduced and implemented. Circumstances such as these highlight the need for effective, reliable and flexible diagnostic and remedial systems, methods and devices.
Consequently, as high speed data communications systems, processes and devices mature, many designs have increasingly focused on reliability and performance issues. One area of particular interest concerns the detection of errors, and determination of a corresponding error rate, for network systems and devices. Among other things, reliable and accurate error rate measurement during the development, manufacturing and installation of high speed networks and associated systems and devices is useful because it gives administrators and other personnel the capability to readily and precisely detect and correct problems, thereby helping to ensure the integrity of the data transmitted and processed by the network and associated devices.
To that end, various equipment, systems and methods have been developed that are used to determine an error rate along a particular data transmission path. In some instances, it is useful to determine the error rate on a bit and/or word basis. Thus, error rate testers and other systems and equipment have been developed that are employed to determine a bit error rate along a particular path on a network.
Generally, bit error rate testers operate by transmitting a predetermined bit sequence onto the network path, and then analyzing the predetermined bit sequence when it returns to the bit error rate tester. Typically, such analyses involve comparing the received bit sequence to a copy of the bit sequence that was initially transmitted onto the network. This comparison permits errors within the sequence to be identified and counted. After the errors in the bit sequence are counted, that information is used to calculate an overall bit error rate. Depending upon the particular value of the bit error rate, various remedial, or other, actions may then be implemented.
While such bit error testers have proven effective in some applications, they have nonetheless proven rather limited in terms of their ability to effectively adapt to the myriad of different, and evolving, network types and protocols. By way of example, conventional bit error rate testers are generally only effective when used in connection with network paths having certain configurations.
More particularly, many network devices drop or add idles or filler words to a data stream in order to maintain synchronization of the data within the stream. This situation is commonly encountered when a variety of network devices, each using a different clock, reside on a single network path. However, the bit sequence comparison procedures employed by typical bit error rate testers are not configured to compensate in any way for such idle or filler word modifications to the data stream. Consequently, once such a modification occurs, the received bit sequence becomes unsynchronized with the test bit sequence, invalidating the bit error rate test from that point forward.
Thus, network paths intended to be tested with known error rate testers generally must be clear of any networking device that could modify the data stream in which the transmitted test bit sequence was traveling. Restrictions such as these sharply constrain the usefulness of the testing device.
Advancements and changes in network protocols have likewise complicated network error testing and diagnostic processes. For example, the movement from the GE to 10 GE protocol has introduced some unique problems that have not been adequately resolved. One such problem relates to the manner whereby the physical layer encodes data for physical transmission on the network. In particular, developers had initially anticipated that the 8 B: 10 B code from Gigabit Ethernet could likewise be employed in connection with the 10 GE protocol. However, it is difficult to operate directly modulated lasers, such as are commonly employed in high speed networks, at the 12.5 Gbd data rate required to accommodate the 25% overhead of 8 B:10 B coding. Therefore, a more efficient coding method, known as 64/66 b, was devised. This reduces the coding overhead to approximately 3% and makes cost-effective 10 Gbit transceiver systems feasible. However, known test systems do not accommodate this coding method and are therefore unable to decode protocol data, which is necessary to compensate for modifications to the data stream since these occur at the protocol level.
In view of the foregoing, it would be useful to provide an error rate tester that is not constrained for use with particular network paths or configurations. Among other things, the error rate tester should be able to compensate for modifications to the data stream in which the transmitted test bit sequence travels. In this regard, it would be useful for the error rate tester to be able to identify when a bit sequence has become unsynchronized due to the insertion or deletion of a fill word, re-synchronize that bit sequence, and then perform an error rate test on the re-synchronized sequence. Furthermore, the error rate tester should support multiple protocols so as to enable effective and efficient testing, by a single tester, of networks conforming to a variety of different protocols, including networks with line speeds as high as 10 gigabits per second, or higher. Finally, the error rate tester should be capable of identifying and tracking errors at both the bit and word levels in the datastream.